#include <QApplication>
#include "Link.h"
#include "Json.h"

int main(int argc, char *argv[])
{
    //Overlay2模块依赖QtGUI，如果工程本身没有GUI显示的需求，可以加入这两个参数来禁用GUI显示
    argv[argc++]="-platform";
    argv[argc++]="offscreen";
    QApplication a(argc, argv);
    //初始化SDK
    Link::init();

    //创建一个视频输入模块
    LinkObject *vi=Link::create("InputVi");
    QVariantMap dataVi;
    dataVi["interface"]=Link::getConfig()["interfaceV"].toMap().firstKey();
    vi->start(dataVi);

    //创建一个视频叠加模块
    LinkObject *overlay=Link::create("Overlay2");
    QVariantMap dataOver;
    //读取默认overlay示例配置，并开启每一个叠加层。
    QVariantList list=Json::loadFile("/link/config/misc/overlayDemo.json").toList();
    for(int i=0;i<list.count();i++)
    {
        QVariantMap map=list[i].toMap();
        map["enable"]=true;
        list[i]=map;
    }
    dataOver["lays"]=list;
    overlay->start(dataOver);

    //创建一个视频输出模块
    LinkObject *vo=Link::create("OutputVo");
    QVariantMap dataVo;
    dataVo["type"]="hdmi";
    vo->start(dataVo);

    //连接视频流(采集->叠加->显示)
    vi->linkV(overlay)->linkV(vo);

    return a.exec();
}
